using System.Collections.Generic;

namespace FormicArch.AssetBundleEditor
{
    public interface IAssetDependency
    {
        string AssetPath { get; set; }
        IAssetBuildManager Manager { get; set; }
        bool IsMainAsset { get; set; }
        AssetbundleLoadType LoadType { get; set; }

        /// <summary>
        /// 依赖的资源
        /// </summary>
        List<IAssetDependency> Dependencies { get; set; }

        /// <summary>
        /// 被依赖的资源
        /// </summary>
        List<IAssetDependency> DependedOn { get; set; }

        int DependedOnCount { get; }
        void SetDependency();
        void AddDependencyOn(IAssetDependency dependency);
        void AddDependency(IAssetDependency dependency);
        void SetLoadType(AssetbundleLoadType loadType);
        string GetGroupName();
        string GetAddressPath();
    }
}